// Web Uploader实例
var uploader =null;
function uploadImgFile(obj) {
    var $fileSingleSizeLimit = 2;//默认最大可传10M的文件
    var $fileSizeLimit = 10;//总大小 10M
    var urlList = new Array();
    var $ = Zepto,
        // 优化retina, 在retina下这个值是2
        ratio = window.devicePixelRatio || 1,
        // 缩略图大小
        thumbnailWidth = 100 * ratio,
        thumbnailHeight = 100 * ratio;

    // 初始化Web Uploader
    uploader = WebUploader.create({
        // 自动上传。
        auto: false,
        fileVal: 'file',
        // swf文件路径
        swf: staticPath + '/static/common/webuploader/Uploader.swf',
        // 文件接收服务端。
        server: baseloaction + '/mobile/uc/upload/uploadImgFile',
        //按钮的名
        fileVal: 'file',
        // 选择文件的按钮。可选。
        // 内部根据当前运行是创建，可能是input元素，也可能是flash.
        pick: obj.selectObj,
        //限制上传数量
        fileNumLimit: obj.imgNum?obj.imgNum : 4,
        // 不压缩image, 默认如果是jpeg，文件上传前会压缩一把再上传！
        resize: false,
        //文件总大小
        fileSizeLimit:1024*1024* $fileSizeLimit,
        //单个文件最大限制2M
        fileSingleSizeLimit:1024*1024* $fileSingleSizeLimit,
        //上传了参数
        formData: {'param': obj.param},
        // 只允许选择文件，可选。
        accept: {
            title: 'Images',
            extensions: 'gif,jpg,jpeg,bmp,png',
            mimeTypes: 'image/*'
        }
    });

    // 当有文件添加进来的时候
    uploader.on( 'fileQueued', function( file ) {
        uploader.makeThumb(file, function (error, src) {
            if (error) {
                $.toast('文件错误');
                return;
            }
            //预览回调
            if($.isFunction(obj.previewCallback)){
                obj.previewCallback(file,src);
            }
        }, thumbnailWidth,thumbnailHeight);
    });

    //成功上传
    uploader.on('uploadSuccess', function (file, response) {
        var res = JSON.parse(response._raw);
        if(res.success==true){
            //上传的文件返回对象
            var entity = res.entity;
            var imgUrl = entity.url;
            urlList.push(imgUrl);
        }else{
            $.toast(res.message);
        }
    });

    //当所有文件上传结束时触发。
    uploader.on("uploadFinished",function () {
        if($.isFunction(obj.uploadFinished)){
            obj.uploadFinished(urlList);
            urlList = new Array();
        }
    });

    //成功上传
    uploader.on('error', function (code) {
        if(code=='F_DUPLICATE'){
            $.toast("选择的文件已存在队列中");
        }else if(code=='Q_EXCEED_NUM_LIMIT'){
            $.toast("一次最多可上传"+ uploader.options.fileNumLimit +"个文件");
        }else if(code=='Q_EXCEED_SIZE_LIMIT'){
            $.toast("总文件大小已到最大限额("+$fileSizeLimit+"M)");
        }else if(code=='Q_TYPE_DENIED'){
            $.toast("文件类型错误");
        }else if(code=='F_EXCEED_SIZE'){
            $.toast("文件过大，最大可传"+$fileSingleSizeLimit+"M");
        }else{
            $.toast("添加文件失败");
        }
    });
    return uploader;
}

//删除文件
function deleteFile(fileId,callback) {
    uploader.removeFile(fileId,true);
    if($.isFunction(callback)){
        callback();
    }
}